package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 * @author zhujiale
 * @since 2022-12-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_storage_shelf")
public class StorageShelfDo extends Model<StorageShelfDo> {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 归属仓库id 关联storage表
     */
    @TableField("storage_id")
    private Long storageId;

    @TableField("company_id")
    private Long companyId;

    /**
     * 区域名称
     */
    @TableField("area_name")
    private String areaName;

    /**
     * 货架名称
     */
    @TableField("shelf_name")
    private String shelfName;

    /**
     * 货架数量
     */
    @TableField("shelf_num")
    private Integer shelfNum;

    /**
     * 货架层数
     */
    @TableField("tier_num")
    private Integer tierNum;

    /**
     * 货架格数
     */
    @TableField("grid_num")
    private Integer gridNum;

    /**
     * 库存容量
     */
    @TableField("stock_capacity")
    private Integer stockCapacity;

    /**
     * 货架类型 1:小货架 2:大货架
     */
    @TableField("type")
    private Integer type;

    /**
     * 条形码起始号
     */
    @TableField("bar_code_from")
    private Integer barCodeFrom;

    /**
     * 货架起始号
     */
    @TableField("shelf_from")
    private Integer shelfFrom;

    /**
     * 层数起始号
     */
    @TableField("tier_from")
    private Integer tierFrom;

    /**
     * 格数起始号
     */
    @TableField("grid_from")
    private Integer gridFrom;

    /**
     * 排序
     */
    @TableField("sort")
    private Integer sort;

    /**
     * 状态 1：启用  0：禁用
     */
    @TableField("status")
    private Integer status;

    @TableField("create_by")
    private Long createBy;

    @TableField("create_time")
    private Date createTime;

    @TableField("update_by")
    private Long updateBy;

    @TableField("update_time")
    private Date updateTime;

    /**
     * 货架拣货顺序， 0 顺序 1逆序
     */
    @TableField("shelf_sort")
    private Integer shelfSort;

    /**
     * 开始货架类型 0 单货架 1双货架
     */
    @TableField("first_type")
    private Integer firstType;

    /**
     * 过道位置 0 过道在左侧， 1 过道在右侧，3过道在格子上，4 过道在格子中间
     */
    @TableField("gangway")
    private Integer gangway;

    @TableField("begin_grid")
    private Integer beginGrid;

    @TableField("end_grid")
    private Integer endGrid;

    @TableField("vertical_shelf")
    private Integer verticalShelf;

    @TableField("fba")
    private Integer fba;

    /**
     * 货架顺序类型 0 逆序 1顺序
     */
    @TableField("shelf_type")
    private Integer shelfType;

    /**
     * 有没有gird配置 0 无 1有
     */
    @TableField("config")
    private int config;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
